// 引入一个包
const path = require('path')
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const NODE_ENV = process.env.NODE_ENV // 不同的打包命令设置不同的NODE_ENV值
module.exports = {
	// 指定入口文件
	mode: NODE_ENV,//development：开发环境 production：生产环境（js会自动压缩代码）
	entry: './src/main.ts',
	// 指定打包文件所在的目录
	output: {
		// 利用path可完整拼出打包文件的目录
		path: path.resolve(__dirname, 'dist'),
		// 打包后的文件
		filename: 'index.js',
	},
	module: {
		// 指定要加载的规则
		rules: [
			{
				test: /\.ts$/, // test指定的是规则生效的文件
				use: 'ts-loader',
				// 排除要处理的文件
				exclude: /node-modules/
			}
		],
	},
	plugins: [
		new CleanWebpackPlugin(),
	],
	// 模块配置：让webpack了解哪些方法可以被当作模块引入
	resolve: {
		extensions: ['.ts', '.js']
	}
}

